#pragma once

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <stdbool.h>

typedef int SDT;

typedef struct Stack
{
	SDT* a;
	int top;
	int capacity;
}Stack;

void StackInit(Stack* pst);

void StackDestroy(Stack* pst);

void StackPush(Stack* pst, SDT x);

void StackPop(Stack* pst);

bool StackEmpty(Stack* pst);

int StackSize(Stack* pst);

SDT StackTop(Stack* pst);